const path = require('path')
// 设置本地服务端口
const port = process.env.port || process.env.npm_config_port || 8081 // dev port

module.exports = {
  publicPath: './', // 打包出的目标代码就可以在任意目录下访问
  lintOnSave: false,

  // 本地开发服务器配置
  devServer: {
    // 端口号
    port: port,
    // 项目启动后，自动打开浏览器
    open: true,
    // 代理配置
    proxy: {
      // 表示只要请求地址中有 /api 的时候，就会触发代理转发。
      '/api': {
        // target：要请求的真实接口地址。实际发送请求时，会使用 target 的值，
        // 替换掉原地址的域名部分
        target: 'http://hmmm-api.itheima.net',
        // 是否跨域，需要设置此值为 true，才可以让本地服务代理我们发出的请求
        changeOrigin: true,
        // 路径重写
        // http://localhost:9527/api/sys/login  => http://ihrm.itheima.net/api/sys/login
        pathRewrite: {
          '/api': ''
        }
      }
    }
  },

  chainWebpack: config => {
    const svgRule = config.module.rule('svg')
    svgRule.uses.clear()
    svgRule
      .test(/.svg$/)
      .include.add(path.resolve(__dirname, './src/icons/svg'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
    const fileRule = config.module.rule('file')
    fileRule.uses.clear()
    fileRule
      .test(/.svg$/)
      .exclude.add(path.resolve(__dirname, './src/icons/svg'))
      .end()
      .use('file-loader')
      .loader('file-loader')
  }
}
